Speedy transactions in multicore in-memory databases Citation
نویسندگان
چکیده
Silo is a new in-memory database that achieves excellent performance and scalability on modern multicore machines. Silo was designed from the ground up to use system memory and caches efficiently. For instance, it avoids all centralized contention points, including that of centralized transaction ID assignment. Silo’s key contribution is a commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read. Though this might seem to complicate the enforcement of a serial order, correct logging and recovery is provided by linking periodically-updated epochs with the commit protocol. Silo provides the same guarantees as any serializable database without unnecessary scalability bottlenecks or much additional latency. Silo achieves almost 700,000 transactions per second on a standard TPC-C workload mix on a 32-core machine, as well as near-linear scalability. Considered per core, this is several times higher than previously reported results.
منابع مشابه
Fast Transactions for Multicore In-Memory Databases
Though modern multicore machines have sufficient RAM and processors to manage very large in-memory databases, it is not clear what the best strategy for dividing work among cores is. Should each core handle a data partition, avoiding the overhead of concurrency control for most transactions (at the cost of increasing it for crosspartition transactions)? Or should cores access a shared data stru...
متن کاملFast Transactions for Multicore In - Memory Databases by Stephen Lyle
Though modern multicore machines have sufficient RAM and processors to manage very large in-memory databases, it is not clear what the best strategy for dividing work among cores is. Should each core handle a data partition, avoiding the overhead of concurrency control for most transactions (at the cost of increasing it for crosspartition transactions)? Or should cores access a shared data stru...
متن کاملReal-time scheduling of transactions in multicore systems
Transactional memory has attracted much interest for multicore systems as it eases programming and avoids the problems of lock-based methods. However, introducing real-time scheduling of transactions in multicore systems is an open problem. Existing solutions for real-time scheduling consider either tasks in multiprocessor systems or transactions in database systems. In this paper, we show that...
متن کاملمقایسه همبستگی خود- استنادی مجله با ضریب تاثیر مجلات انگلیسی پزشکی داخلی در دو نمایه نامه WoS و ISC
Background and Aim: Citation is one of the journals ranking factors. Self-Citation rates regarding journals `performance, especially in international databases, is important. The aim of this study is to examine the effect of Journal self-Citation on Impact Factor of Iranian English medical journals indexed in the Web of Science and Islamic World Science Citation Center. Materials and Methods: ...
متن کاملRobuSTM: A Robust Software Transactional Memory
For software transactional memory (STM) to be usable in large applications such as databases, it needs to be robust, i.e., live, efficient, tolerant of crashed and non-terminating transactions, and practical. In this paper, we study the question of whether one can implement a robust software transactional memory in an asynchronous system. To that end, we introduce a system model – the multicore...
متن کامل